package hcn.protocol.medicalrecord.bean.xmlresponse;

import lombok.Data;

import javax.xml.bind.annotation.*;
import java.util.List;

/**
 * 查询病案授权申请详情-回参
 */
@Data
@XmlRootElement(name = "Data")
@XmlAccessorType(XmlAccessType.FIELD)
public class GetDetailXmlResp {

    @XmlElement(name = "Record")
    private Record record;

    @XmlAccessorType(XmlAccessType.FIELD)
    public static class Record {

        @XmlElement(name = "MRAuthRecordId")
        private String mRAuthRecordId;

        @XmlElement(name = "MRAuthType")
        private String mRAuthType;

        @XmlElement(name = "MRAuthRecordStatus")
        private String mRAuthRecordStatus;

        @XmlElement(name = "MRAuthRecordStatusName")
        private String mRAuthRecordStatusName;

        @XmlElement(name = "PatientName")
        private String patientName;

        @XmlElement(name = "HospizationNumber")
        private String hospizationNumber;

        @XmlElement(name = "Instruction")
        private String instruction;

        @XmlElement(name = "ApplyTime")
        private String applyTime;

        @XmlElement(name = "ApplyDoctor")
        private String applyDoctor;

        @XmlElement(name = "AuthStartTime")
        private String authStartTime;

        @XmlElement(name = "AuthEndTime")
        private String authEndTime;

        @XmlElement(name = "DeptApplyFlag")
        private String deptApplyFlag;

        @XmlElementWrapper(name = "MRTypeList")
        @XmlElement(name = "MRTypeInfo")
        private List<MRTypeInfo> mRTypeList;


        @XmlAccessorType(XmlAccessType.FIELD)
        public static class MRTypeInfo {

            private String MRTypeCode;

            private String MRTypeName;

            private String SelectFlag;
        }


        @XmlElementWrapper(name = "AuditProcessList")
        @XmlElement(name = "AuditProcess")
        private List<AuditProcess> auditProcessList;


        @XmlAccessorType(XmlAccessType.FIELD)
        public static class AuditProcess {

            /**
             * 操作人姓名
             */
            private String OperatorName;
            /**
             * 操作人工号
             */
            private String OperatorCode;
            /**
             * 操作时间
             */
            private String OperationTime;
            /**
             * 操作人科室名名称
             */
            private String OperatorDept;
            /**
             * 当前节点手术权限申请单状态
             */
            private String CurrentStatus;
            /**
             * 当前节点手术权限申请单状态名称
             */
            private String CurrentStatusName;
            /**
             * 审核意见
             */
            private String AuditAdvice;
            /**
             * AuditResult
             */
            private String AuditResult;

        }

    }


}
